#include <stdio.h>
#include <stdlib.h>
#include "Personnel.h"
#define capacity 100
#include <string.h>


int comparercinper(personnel *per)
{ FILE *f;
  FILE *y;
  personnel p;
  int res=0,res1=0,res2=0;
  f=fopen("fichierpersonnel","a");
  if (f!=NULL)
	{
         while((fread(&p,sizeof(personnel),1,f)!=0) && (res1==0))
 	    {
	      if(per->cin==p.cin)
	       {res1=1;}
 	    }
 	}
  y=fopen("tmp2","a");
  if ((y!=NULL) || (res1==0))

	{
         while((fread(&p,sizeof(personnel),1,y)!=0) && (res2==0))
 	    {
	      if(per->cin==p.cin)
	       {res2=1;}
 	    }
 	}
if( (res1==1) || (res2==1))
{res=1;}
return res;
}


int testjourper(personnel *per)
{
	int test=0;
	if((per->datedembauche.mois==4)||(per->datedembauche.mois==6)||(per->datedembauche.mois==9)||(per->datedembauche.mois==11))
		{
		if(per->datedembauche.jour>30)
			{test=1;}
		}
	else if ((per->datedembauche.mois==2)&&(test==0))
		{
		if(per->datedembauche.jour>29)
			{test=1;}
		}
	else
		if(per->datedembauche.jour>31)
			{test=1;}
return test;
}


int longueurper(int valeur)
{
	int l= 0;

	while(valeur !=0)
	{
		l++;
		valeur = valeur / 10;
	}
 return l;
}


void enregistrerpersonnel(char fichier[], personnel *per)
{
  FILE *f;
  f=fopen(fichier,"ab");
  if (f!=NULL){
  fwrite(per,sizeof(personnel),1,f);}
  fclose(f);
}




int chercherpersonnel(char fichier[],char nom[],int ID)
{
    int res=0;
  FILE *f;
  personnel p;
  f=fopen(fichier,"rb");
  if (f!=NULL){
  		while(fread(&p,sizeof(personnel),1,f)!=0 && res==0)
			{
			if((strcmp(p.nom,nom)==0)&&(ID==p.ID))
				{res=1;}
			 }
		}
if (res==1)
 {printf("\nID= %d \n CIN= %ld \n Nom=  %s \n Prenom= %s \n Age= %d \n Sexe= %s \n Num_tel= %ld \n Adresse= %s \n  poste= %s \n Date_d'embauche = : %d %d %d \n \n ",p.ID,p.cin,p.nom,p.prenom,p.age,p.sexe,p.numerotelephone,p.adresse,p.poste,
p.datedembauche.jour,p.datedembauche.mois,p.datedembauche.annee);}
 fclose(f);
  return res;
}

void supprimerpersonnel( char fichier[],int ID)
{
char tmp2[]="tmp2.txt";
char tmp[]="tmp.txt";
FILE *f ;
FILE *t ;
FILE *y ;
personnel p;
f=fopen(fichier,"rb") ;
t=fopen(tmp,"wb") ;
y=fopen(tmp2,"a+") ;
if ((f!= NULL) && (t!=NULL))
	{
	while(fread(&p,sizeof(personnel),1,f)!=0)
		{
			if( ID!=p.ID)
				{ fwrite(&p,sizeof(personnel),1,t);}
			if (ID==p.ID)
				{fwrite(&p,sizeof(personnel),1,y);}
		}

	}
fclose(y) ;
fclose(f) ;
fclose(t) ;
f=fopen(fichier,"wb") ;
t=fopen(tmp,"rb") ;
while(fread (&p,sizeof(personnel),1,t)!=0)
{fwrite(&p,sizeof(personnel),1,f) ;}
fclose(f) ;
fclose(t) ;
}


void initpersonnels(char fichier[])
{
 	FILE *f;
 	f=fopen(fichier,"wb");
 	fclose(f);
}

